# 计算斐波那契数列
# Array.new(200)数组长度决定数列长度

$:.unshift File.join(File.dirname(__FILE__),'..','lib')

require 'roadrunner'

rrfib=RoadRunner.new

rrfib.init do
  rrfib.global[:x],rrfib.global[:y]=0,1

  # users决定同时有多少并发用户一起执行action
  # iterations决定每个用户执行多少次
  rrfib.users,rrfib.iterations=10,100
end

rrfib.action do
  rrfib.global[:fib]=Array.new(200) {|i| [0,1].include?(i) ? 1 : (rrfib.global[:x],rrfib.global[:y] = rrfib.global[:y],rrfib.global[:x]+rrfib.global[:y])&&(rrfib.global[:x]+rrfib.global[:y]) }
end

rrfib.ended do
  #rrfib.global={}
end

rrfib.run
rrfib.report
